A stepper motor uses discrete electrical pulses in a certain sequence to create rotating electrical fields that drive a magnetic rotor in controlled rotational steps. The frequency of the pulses directly affects the rotor's speed, the number of pulses directly affects the length of rotation, and the sequence of the pulses generally determines the rotational direction.
Occasionally, however, stepper motors unexpectedly run counter to the intended direction of rotation. When this occurs, the reverse rotation is about three times faster than the normal forward speed. This phenomenon is explained in a paper entitled, “Spontaneous Speed Reversals in Stepper Motors” by Marc Bodson, Jeffrey S. Sato and Stephen R. Silver. The paper was published by IEEE Transactions on Control Systems Technology, Vol. 14, No. 2, March 2006.
Spontaneous speed reversal can be particularly problematic when a stepper motor is calibrated by driving the motor to a known travel limit or end stop. Under normal calibration, the stepper motor is periodically driven to the end stop to re-establish a known datum. It has been found, however, that striking the end stop can trigger the rapid speed reversal. So, instead of stopping at the end stop, the stepper motor might “bounce off” and move rapidly away from it. In some cases, the stepper motor might even travel all the way over to an opposite travel limit, thus failing to ever find the datum.
Although mechanical or electrical damping, micro-stepping, and closed-loop control might reduce the likelihood of spontaneous speed reversal, such measures can be expensive and/or they can reduce the motor's speed and responsiveness. Consequently, a need exists for a better method of avoiding or compensating for sudden speed reversal in a stepper motor, particularly during calibration.